export default {
  'nodeState:hover' (name, value, group) {
    const _item = group.getChildByIndex(0); // 查找当前的节点
    const { style = {} } = _item.cfg.attrs; // 获取 hover定义的样式

    if (value) {
      // 设置的状态生效
      _item.attr(style[name]); // 一般就是设置样式属性
    } else {
      // 清除当前状态
      _item.attr(style['nodeState:default']); // nodeState:default 这个也是要定义
    }
  },
  'nodeState:selected' (name, value, group) {
    const _item = group.getChildByIndex(0);
    const { style } = _item.cfg.attrs;
    const text = group.get('children').find(child => child.cfg.type === 'text'); // 设置文本的样式  文字样式的反差
    // 如果是自定义的文本节点 可以通过自定义的 className来查找
    if (value) {
      // 设置的状态生效
      _item.attr(style[name]);

      if (style[name].labelCfg) { // 里面 继续定义 labelCfg 的样式
        text.attr(style[name].labelCfg.style);
      }
    } else {
      // 清除当前状态
      _item.attr(style['nodeState:default']);
    }
  },
};
